import request from "@/utils/request";

/**
 * 上传图片
 * @param {File} file - 图片文件
 * @param {String} type - 图片类型（可选）
 * @returns {Promise} 上传结果
 */
export function uploadImage(file, type) {
  const formData = new FormData();
  formData.append("file", file);

  if (type) {
    formData.append("type", type);
  }

  return request({
    url: "/image/upload",
    method: "post",
    data: formData,
    headers: {
      "Content-Type": "multipart/form-data",
    },
  });
}

/**
 * 获取图片详情
 * @param {Number} id - 图片ID
 * @returns {Promise} 图片详情
 */
export function getImageById(id) {
  return request({
    url: `/image/${id}`,
    method: "get",
  });
}

/**
 * 获取指定类型的图片列表
 * @param {String} type - 图片类型
 * @returns {Promise} 图片列表
 */
export function getImagesByType(type) {
  return request({
    url: `/image/type/${type}`,
    method: "get",
  });
}

/**
 * 分页获取图片列表
 * @param {Object} params - 查询参数
 * @param {Number} params.pageNum - 页码
 * @param {Number} params.pageSize - 每页大小
 * @param {String} params.type - 图片类型（可选）
 * @returns {Promise} 分页图片数据
 */
export function getImageList(params) {
  return request({
    url: "/image/list",
    method: "get",
    params,
  });
}

/**
 * 删除图片
 * @param {Number} id - 图片ID
 * @returns {Promise} 删除结果
 */
export function deleteImage(id) {
  return request({
    url: `/image/${id}`,
    method: "delete",
  });
}
